import request from '../request-axios.js';
import { API_CONFIG } from '../config.js';

// 数据管理API - 根据API文档更新
export const dataAPI = {
  // 查询数据管理列表
  getDataList: (params = {}) => {
    return request.post(API_CONFIG.ENDPOINTS.DATA_LIST, null, { params });
  },
  // 查询记录列表
  getVideoDataList: (params = {}) => {
    return request.get(API_CONFIG.ENDPOINTS.DATA_VIDEO_LIST, null, { params });
  },
  // 保存采集数据
  saveData: (data) => {
    return request.post(API_CONFIG.ENDPOINTS.DATA_SAVE, null, { params: data });
  },

  // 删除数据管理（支持单个ID或ID数组）
  deleteData: (idOrIds) => {
    // 统一处理单个ID和ID数组
    let idsParam;
    if (Array.isArray(idOrIds)) {
      // 批量删除：数组转换为逗号拼接字符串
      idsParam = idOrIds.join(',');
    } else {
      // 单个删除：直接使用ID
      idsParam = idOrIds;
    }
    return request.post(API_CONFIG.ENDPOINTS.DATA_DELETE, null, { params: { ids: idsParam } });
  },

  // 下拉数据管理
  getDataDropdown: (params = {}) => {
    return request.post(API_CONFIG.ENDPOINTS.DATA_DROPDOWN, null, { params });
  },

  // 数据归档
  archiveData: (params = {}) => {
    return request.post(API_CONFIG.ENDPOINTS.DATA_ARCHIVE, null, { params });
  },

  // 数据导出
  exportData: (params = {}) => {
    return request.post(API_CONFIG.ENDPOINTS.DATA_EXPORT, null, { params });
  },

  // 批量删除数据（兼容性方法，实际调用deleteData）
  batchDeleteData: (ids) => {
    return dataAPI.deleteData(ids);
  },

  // 获取数据详情
  getDataDetail: (id) => {
    return request.post(API_CONFIG.ENDPOINTS.DATA_LIST, null, { params: { id } });
  },

  // 保存遥测数据
  saveTelemetryData: (data) => {
    return request.post(API_CONFIG.ENDPOINTS.DATA_SAVE, null, {
      params: {
        type: 'telemetry',
        ...data
      }
    });
  },
  // 查询新增操作记录
  getAddAnaDataList: (params = {}) => {
    return request.get(API_CONFIG.ENDPOINTS.DATA_ADD_LIST, null, { params });
  },
};

export default dataAPI;
